package model.tps;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import model.materiasYCatedras.AlumnoEnCatedra;


public class Tp {
	private Calendar fechaLimite;
	private ModalidadTp modalidad;
	private List<Tema> temas = new ArrayList<Tema>();
	private String titulo;
	private List<EntregaTpPorAlumno> entregas = new ArrayList<EntregaTpPorAlumno>();
	
	
	// Getters && Setters //

	
	
	public Calendar getFechaLimite() {
		return fechaLimite;
	}

	public List<EntregaTpPorAlumno> getEntregas() {
		return entregas;
	}

	public void setEntregas(List<EntregaTpPorAlumno> entregas) {
		this.entregas = entregas;
	}

	public String getTitulo() {
		return titulo;
	}

	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}

	public void setFechaLimite(Calendar fechaLimite) {
		this.fechaLimite = fechaLimite;
	}

	public ModalidadTp getModalidad() {
		return modalidad;
	}

	public void setModalidad(ModalidadTp modalidad) {
		this.modalidad = modalidad;
	}
	
	public List<Tema> getTemas() {
		return temas;
	}
	
	public void setTemas(List<Tema> temas) {
		this.temas = temas;
	}
	
	
	// Constructor//
	

	public Tp(String titulo){
		this.setTitulo(titulo);
	}	
	
	//////////
	
	public void agregarTemaAlTp(Tema unTema){
		this.getTemas().add(unTema);
	}
	
	public Boolean tpContieneUnTema(Tema unTema){
		return this.getTemas().contains(unTema);
	}
	
	public void cargarEntrega(AlumnoEnCatedra alumno, Integer nota){
		this.getEntregas().add(new EntregaTpPorAlumno(this, alumno, nota));
	}
	
}
